#ifndef COUNTERS_HPP
#define COUNTERS_HPP


// the global performance counter.
extern vector<double> bit_error_rates; // stores the BER before and after ECC
extern double average_iter_num;
extern double average_error_num;
extern double average_correct_blk_num;
extern double average_error_blk_num;
extern double average_undet_blk_num;
extern double average_det_blk_num;
extern double average_final_ber;
extern double average_mem_bit_num;       // number of bits memoized before each call to ECC 
extern double average_cleanup_bit_num;   // number of bits get cleaned up 
extern double num_seg_scrubbed;          // number of segments which are scrubbed.

// counters for measuring the decoding performance of metadata
extern double trial_num_meta;            
extern double average_ber_before_decode_meta;
extern double average_iter_num_meta;
extern double average_error_num_meta;
extern double average_correct_blk_num_meta;
extern double average_error_blk_num_meta;
extern double average_compressed_metadata_size;


#endif //COUNTERS_HPP
